package com.wtwd.campus.service;

import com.wtwd.campus.entity.Command;

import java.util.Map;
import java.util.concurrent.TimeUnit;

/**
* @author xsansan  
* @date 2019年1月3日 
* Description: redis接口类, 此接口用于连接redis操作生成的验证码，以及token管理
*/
public interface IRedisService {
    /**
     * 设置key-value
     * @param key key
     * @param value value
     * @param timeout 设置过期时间
     */
    void setKey(String key, Object value, long timeout, TimeUnit timeUnit);

    /**
     * 获取key的值
     * @param key key
     * @return value
     */
    Object getValue(String key);

    /**
     * 删除key
     * @param key key
     */
    void deleteKey(String key);
    void saveCommand(String imei, String commandNumber, Object object);
    Map<String,Object> getCommandsByImei(String imei);
    boolean isDeviceOnline(String deviceToken);
    void refreshDeviceOnlineTime(String deviceToken, long timeout, TimeUnit timeUnit);

    void deleteCommand(String imei,String commandNumber);

    void updateCommand(String imei, String commandNumber, Command command);

    Map<String,Object> getUnInStorageDevice();


}
